home *** CD-ROM | disk | FTP | other *** search
/ Varios Español / Varios Español.iso / NORTON8 / EXEMPLES.BT! / SAMPLES.BTM
Text File  |  1994-05-20  |  5KB  |  149 lines

  1. @echo off
  2. cls
  3. echo %@upper[%0]:
  4. text
  5.  
  6.      Este archivo contiene varios ejemplos de archivos por lotes. 
  7.      Le invitamos a que los estudie junto con la demás documentación
  8.      de NDOS. Quizá le interese imprimirlos (PRINT) u obtener un listado
  9.      (LIST) de su contenido y modificar las partes que desee. Los 
  10.      distintos segmentos están separados por una línea discontinua,
  11.      por lo que puede extraer fácilmente el componente que más le
  12.      interese.
  13.  
  14.  
  15.      Se incluyen:
  16.  
  17.        STATUS.BTM    - Descripción resumida del sistema.
  18.        NMENU.BTM     - Sencillísimo sistema de menús.
  19.        ONCEADAY.BTM  - Ejecuta un comando la primera vez que se arranque
  20.                        el ordenador en el día.
  21.  
  22. endtext
  23. pause
  24.  
  25. : ---------------------------------------------------------------------
  26. rem STATUS.BTM
  27. rem
  28. rem      El siguiente archivo por lotes utilizará algunas de las 
  29. rem      funciones variables internas de NDOS para describir
  30. rem      la configuración actual
  31. rem
  32. cls
  33. echo.^echo.
  34. echo Estado del sistema:
  35. echo.
  36. echo Fecha: %_dow %_date
  37. echo Hora: %_time
  38. echo Versión del NDOS: %_nver
  39. echo OS: %_dos
  40. echo Versión del DOS: %_dosver
  41. echos `CPU: `
  42. iff %_cpu == 86 then
  43.   echo 8088/8086
  44. elseiff %_cpu == 186 then
  45.   echo 80188/80186
  46. elseiff %_cpu == 200 then
  47.   echo V20/V30
  48. elseiff %_cpu == 286 then
  49.   echo 80286
  50. elseiff %_cpu == 386 then
  51.   echo 80386
  52. elseiff %_cpu == 486 then
  53.   echo 80486
  54. endiff
  55. if %_ndp ne 0 echo %_ndp Detectado coprocesador matemático
  56. echo Vídeo: %_video
  57. echo Tipo de monitor: %_monitor
  58. quit
  59.  
  60.  
  61. : ---------------------------------------------------------------------
  62. : NMENU.BTM
  63. :      El siguiente archivo por lotes creará un "menú" sencillo para
  64. :      ejecutar los programas de utilización más frecuente.
  65. :
  66. :Observe que, en lugar de sentencias REM, se crean etiquetas "inactivas"
  67. :comenzando las líneas de comentario como ésta con dos puntos (":")
  68. :
  69. @echo off
  70. :      En primer lugar, después de guardar los alias existentes con el 
  71. :      mismo nombre mediante el comando SETLOCAL, definimos dos alias que
  72. :      se utilizarán varias veces en el resto de este archivo. 
  73. setlocal
  74. alias in `pushd %1 ^ %2& ^ popd`
  75. alias choice `elseiff "%userchoice" == "%1" then`
  76. :
  77. :       Se comienza con una pantalla vacía
  78. cls
  79. :dispmenu
  80. :       Sitúa el cursor
  81. screen 8 0
  82. :       Muestra las opciones de menú
  83. text
  84.  
  85.  Seleccione una opción:
  86.  
  87.       0. SALIR
  88.       1. Procesador de texto
  89.       2. Hoja de cálculo
  90.       3. Comunicaciones
  91.  
  92. endtext
  93. :      Pide al usuario que introduzca un valor para la variable de entorno
  94. :      CHOICE
  95. inkey ¿Cuál? %%userchoice
  96. :      ¿Desea el usuario salir del menú?
  97. iff "%userchoice" == "0" then ^ quit
  98. :      Comprueba las opciones válidas
  99. :      Cada línea corresponde a una opción de menú
  100. :      Los parámetros son el directorio al que ir y el programa que debe
  101. :      ejecutarse
  102.   choice 1 ^ in c:\cartas    c:\ws\ws.exe
  103.   choice 2 ^ in d:\finanzas  c:\quattro\q.exe
  104.   choice 3 ^ in c:\awremote  c:\awremote\awremote.exe
  105. else
  106. :      El usuario ha introducido una opción no válida
  107.   scrput 23 0 bri whi on red Opción no válida; vuelva a intentarlo
  108. endiff
  109. :      Vuelve al principio
  110. goto dispmenu
  111.  
  112.  
  113. : ---------------------------------------------------------------------
  114. : ONCEADAY.BTM
  115. @echo off
  116. :
  117. :       Este archivo por lotes ejecutará un comando la primera vez que
  118. :       se ejecute en el día después de las 6:00 de la mañana:
  119. :               DIARIO NDD C:    /Q
  120. :
  121. :       Observe que, en lugar de las sentencias REM, se crean etiquetas 
  122. :       "inactivas" comenzando las líneas de comentarios como ésta con 
  123. :       dos puntos (":")
  124. :
  125. :       En primer lugar redefinimos la variable de entorno ULTIMA después
  126. :       de guardar el valor que SETLOCAL le pueda haber asignado
  127. setlocal
  128. set lastdate=0
  129. :       ¿Existe un archivo llamado DIARIO.DAT en el directorio
  130. :       raíz de la unidad de arranque?
  131. iff exist %_boot:\diario.dat then
  132. :       En este caso, se da a LASTDATE el contenido de la primera línea
  133.   set lastdate=%@line[%_boot:\diario.dat,0]
  134. endiff
  135. :       ¿La fecha del archivo es posterior a la de hoy?
  136. :       (la función @DATE convierte una fecha en un número entero)
  137. iff %@date[%_date] gt %lastdate then
  138. :       Si este es el caso, ¿son más de las 6:00? (una hora arbitraria)
  139.   iff %time[%_time] gt %@time[06:00] then
  140. :       Sí. Ejecuta el comando introducido como argumento en este archivo
  141. :       archivo por lotes y regresa
  142.     call %&
  143. :       Después de ejecutar el comando, ponga la fecha de hoy con formato
  144. :       entero en el archivo DIARIO.DAT
  145.     echo %@date[%_today] >! %_boot:\diario.dat
  146.   endiff
  147. endiff
  148. :
  149.